#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include<fcntl.h>


#define FILE_NAME(number) "log"#number".txt"

// 每一个宏，对应的数值，只有一个比特位1，彼此位置不重叠
#define ONE (1<<0)
#define TWO (1<<1)
#define THREE (1<<2)
#define FOUR (1<<3)


//void show(int flags) 
//{
//    if(flags & ONE) printf("one\n");
//    if(flags & TWO) printf("two\n");
//    if(flags & THREE) printf("three\n");
//    if(flags & FOUR) printf("four\n");
//}
int main() 
{
    printf("stdin->fd: %d\n",stdin->_fileno);
    printf("stdout->fd :%d\n",stdout->_fileno);
    printf("stderr->fd :%d\n",stderr->_fileno);
  umask(0);
  int fd1 =  open(FILE_NAME(1), O_WRONLY | O_CREAT | O_APPEND, 0666);
  int fd2 =  open(FILE_NAME(2), O_WRONLY | O_CREAT | O_APPEND, 0666);
  int fd3 =  open(FILE_NAME(3), O_WRONLY | O_CREAT | O_APPEND, 0666);
  int fd4 =  open(FILE_NAME(4), O_WRONLY | O_CREAT | O_APPEND, 0666);
  //int fd =  open(FILE_NAME, O_RDONLY);
 // if(fd < 0)
 // {
 //     perror("open");
 //     return 1;
 // }
 // 
 // char buffer[1024];
 // ssize_t num = read(fd,buffer,sizeof(buffer)-1);
 // if(num > 0) buffer[num] = 0;  // 字符串结束标注
 // printf("%s\n",buffer);

 // int cnt = 5;
 // char buffer[64];
 // while(cnt)
 // {
 //     sprintf(buffer, "%s:%d\n","aaaa",cnt--);
 //     write(fd,buffer, strlen(buffer));
 // }
  printf("fd1:%d\n",fd1);
  printf("fd2:%d\n",fd2);
  printf("fd3:%d\n",fd3);
  printf("fd4:%d\n",fd4);
  close(fd1);
  close(fd2);
  close(fd3);
  close(fd4);
   // show(ONE);
   // printf("-----------\n");
   // show(TWO);
   // printf("-----------\n");
   // show(ONE | TWO);
   // printf("-----------\n");
   // show(ONE |TWO |THREE);
   // printf("-----------\n");
    //FILE *fp = fopen(FILE_NAME,"w");
    //FILE *fp = fopen(FILE_NAME,"r");
    //FILE *fp = fopen(FILE_NAME,"w");
  //  if(fp == NULL) 
  //  {
  //      perror("fopen");
  //      return 1;
  //  }
   // char buffer[64];
   // while(fgets(buffer,sizeof(buffer)-1,fp) != NULL) 
   // {
   //     buffer[strlen(buffer)-1] = 0;
   //     puts(buffer);
   // }

    //int cnt =5;
    //while(cnt)
    //{
    //    fprintf(fp,"%s:%d\n", "hello wolrld", cnt--);
    //}
  //  fclose(fp);
    return 0;
}
